Technical Field
This disclosure relates generally to graphics processing and more specifically to storing primitive information for tile-based rendering.
Description of the Related Art
Tile-based deferred rendering (TBDR) is a graphics processing technique in which a frame of graphics data to be rendered is divided into a grid of tiles in screen space for separate processing. Tiles often correspond to 16×16 or 32×32 squares of pixels, for example, but can vary in size in different implementations. Separately processing tiles may be advantageous because of spatial coherence and/or when hardware rendering resources are limited. Initially, primitives are transformed into screen space and assigned to tiles. This may require storing lists of primitives corresponding to each tile.
Tiles are then separately rendered (typically using parallel rendering hardware) and eventually written to an image buffer. When rendering a tile, the rendering hardware typically reads the list of primitives for the tile being rendered in order to rasterize the primitives (to determine pixel attributes based on the primitives).
For relatively large primitives, the memory requirements for storing an identification of the primitive for each tile that it intersects may be substantial. Some conventional techniques may reduce these memory requirements, but require additional processing when reading the primitive lists for rendering.